package cn.com.surker.base.system.dao;

import cn.com.surker.base.system.entity.SysStorageLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;

/**
 * <p>
 * ERP仓位、工控仓位修改记录表 Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2024-12-25
 */
public interface SysStorageLogDao extends BaseMapper<SysStorageLog> {

    Integer saveBatch(List<SysStorageLog> storageLogList);

    /**
     * 根据生效时间与仓位名称查询当时材料信息
     * @param lineId 生产线
     * @param storage 仓位名称
     * @param type 0 ERP仓位 1 工控仓位
     * @param takeTime 查询时间
     * @return
     */
    SysStorageLog findTakeTimeOrStorage(Long lineId, String storage, Integer type, String takeTime);

	/**
	 * 根据生效时间与仓位名称查询当时材料信息
	 * @return
	 */
	SysStorageLog findTakeTimeOrStorageV1(String dbCode, Long lineId, Long storageId, String storage, Integer type, String takeTime);

	/**
	 * 根据仓位信息查询ERP仓位
	 * @param dbCode
	 * @param lineId
	 * @param storageId
	 * @param storage
	 * @param type
	 * @param takeTime
	 * @return
	 */
	SysStorageLog findTakeTimeOrErpStorageV1(String dbCode, Long lineId, Long storageId, String storage, Integer type, String takeTime);
	/**
	 * 查询工控机对应材料的仓位
	 *
	 * @param lineId       生产线
	 * @param materialType 材料类型
	 * @param batchTime    当时的时间
	 * @return
	 */
	List<SysStorageLog> findWcStorage(Long lineId, Long materialType, String batchTime);
}
